/*
 * Copyright (C) 2009 2DAI
 *
 * Este programa es Software Libre; usted puede redistribuirlo
 * y/o modificarlo bajo los términos de la "GNU General Public
 * License" como lo publica la "FSF Free Software Foundation",
 * o (a su elección) de cualquier versión posterior.
 *
 * Este programa es distribuido con la esperanza de que le será
 * útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
 * implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
 * particular. Vea la "GNU General Public License" para más
 * detalles.
 *
 * Usted debe haber recibido una copia de la "GNU General Public
 * License" junto con este programa, si no, escriba a la "FSF
 * Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
 * Boston, MA  02111-1307, USA.
 */

package logic;

/**
 *
 * Author: Jorge Garrido Oval
 * Panel abstracto que extienden los paneles interiores a AbsFrame para rellenar
 * los metodos de recogida y muestra de datos.
 */
public abstract class ContentiPanel<T> extends javax.swing.JPanel {
    /**
     * Abstracto para settear la info del panel pasandole el objeto
     * Recibe el objeto correspondiente al panel y lo desenvuelve en
     * los TextField's correspondientes
     * @param o
     */
    public abstract void setContenido(T o);
    /**
     * Abstracto que devuelve en un objeto el contenido del panel
     * Encapsular el contenido de todos los textfield en su objeto
     * correspondiente y devolverlo
     * @return
     */
    public abstract T getContenido();
    /**
     * Abstracto para habilitar o deshabilitar los campos de texto
     * Rellenar este método con todos los textfiel del panel con la
     * funcion setEnabled(boo)
     * @param boo
     */
    public abstract void enableTextFields(boolean boo);
    /**
     * Método para poner los campos de los formularios en blanco
     * funcion setText("")
     */
    public abstract void clearTextFields();
    
}
